/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package formula.one.urjc.piloto;

import java.io.Serializable;

/**
 *
 * @author Xavier
 */
public class Piloto implements Serializable {
    private String nombre ;
    private String apellidos ;
    private DatosPersonales datosPersonales ;
    private int puntos ;
    //private double valoracion ;
    //private double sueldo ;
    private CaracteristicasTecnicas caracteristicasTecnicas ;

    //constructor con valoracion y sueldo, es algo que se construye con los datos del objeto por lo tanoto no se ría necesario pasarle estos parámetros
    /*public Piloto(String nombre, String apellidos, DatosPersonales datosPersonales, int puntos, double valoracion, double sueldo, CaracteristicasTecnicas caracteristicasTecnicas) {
        this.nombre = nombre;
        this.apellidos = apellidos;
        this.datosPersonales = datosPersonales;
        this.puntos = puntos;
        this.valoracion = valoracion;
        this.sueldo = sueldo;
        this.caracteristicasTecnicas = caracteristicasTecnicas;
    }*/

    public Piloto(String nombre, String apellidos, DatosPersonales datosPersonales, int puntos, CaracteristicasTecnicas caracteristicasTecnicas) {
        this.nombre = nombre;
        this.apellidos = apellidos;
        this.datosPersonales = datosPersonales;
        this.puntos = puntos;
        this.caracteristicasTecnicas = caracteristicasTecnicas;
    }
    
    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getApellidos() {
        return apellidos;
    }

    public void setApellidos(String apellidos) {
        this.apellidos = apellidos;
    }

    public int getPuntos() {
        return puntos;
    }

    public void setPuntos(int puntos) {
        this.puntos = puntos;
    }

    public double getValoracion() {
        return caracteristicasTecnicas.valTotal();
    }

    /*public void setValoracion(int valoracion) {
        this.valoracion = valoracion;
    }*/

    //obtiene el sueldo
    public double getSueldo() {
        return getCaracteristicasTecnicas().valTotal()*50;
    }

    /*public void setSueldo(double sueldo) {
        this.sueldo = sueldo;
    }*/

    public DatosPersonales getDatosPersonales() {
        return datosPersonales;
    }

    public void setDatosPersonales(DatosPersonales datosPersonales) {
        this.datosPersonales = datosPersonales;
    }

    public CaracteristicasTecnicas getCaracteristicasTecnicas() {
        return caracteristicasTecnicas;
    }

    public void setCaracteristicasTecnicas(CaracteristicasTecnicas caracteristicasTecnicas) {
        this.caracteristicasTecnicas = caracteristicasTecnicas;
    }
    
    public String resumeToString(){
        return nombre+" "+getApellidos()+" Val:"+String.format("%.1f",caracteristicasTecnicas.valTotal())+" Sueldo: "+String.format("%.1f", getSueldo());
    }
    
    @Override
    
    public String toString() {
        return "Piloto: {" + "nombre = " + nombre + "\n" +
                             "apellidos = " + apellidos + "\n" +
                             "edad = " + datosPersonales.getEdad() + "\n" +
                             "altura = " + datosPersonales.getAltura() + "\n" +
                             "peso = " + datosPersonales.getPeso() + "\n" +
                             "puntos = " + puntos + "\n" +
                             "valoracion = " + getValoracion() + "\n" + 
                             "sueldo = " + getSueldo() + "\n" +
                             "reflejos = " + caracteristicasTecnicas.getReflejos() + "\n" +
                             "agresividad = " + caracteristicasTecnicas.getAgresividad() + "\n" +
                             "paciencia = " + caracteristicasTecnicas.getPaciencia() + "\n" +
                             "valentia = " + caracteristicasTecnicas.getValentia() + "\n" +
               "}" ;
                              
    }
    
}
